.collage-section + .collage-section .no-heading {
  margin-top: -4rem;
}

@media screen and (max-width: 749px) {
  .collage-wrapper-title {
    margin-top: -1rem;
  }
}

@media screen and (min-width: 750px) {
  .collage-wrapper.no-heading {
    margin-top: calc(6rem + var(--page-width-margin));
  }

  .collage-section + .collage-section .no-heading {
    margin-top: calc(-4rem - var(--page-width-margin));
  }
}

.collage-wrapper-title {
  margin-bottom: 3rem;
}

.collage {
  display: grid;
  gap: 1rem;
}

.collage--mobile {
  grid-template-columns: repeat(2, 1fr);
}

@media screen and (min-width: 750px) {
  .collage {
    grid-template-columns: 1fr 1fr 1fr;
  }
}

.collage-card {
  position: relative;
  border: 0.1rem solid rgba(var(--color-foreground), 0.08);
}

.collage-card.collage-collection {
  border: none;
}

.collage-card:only-child {
  grid-column: 1;
  width: 100%;
}

@media screen and (max-width: 749px) {
  .collage--mobile .collage-card--left,
  .collage--mobile .collage-card--right {
    grid-column: 1/ 3;
  }

  .collage--mobile .collage-card:first-child:nth-last-child(2) {
    grid-column: 1/ 2;
  }

  .collage--mobile .collage-card:nth-child(2):last-child {
    grid-column: 2/ 3;
  }
}

@media screen and (min-width: 750px) {
  .collage-card--left:not(:only-child),
  .collage-card--right:not(:only-child) {
    min-height: 40rem;
  }

  .collage-card--left:nth-last-child(3),
  .collage-card--right:nth-child(3) {
    grid-row: 1/ 3;
  }

  .collage-card--left:nth-last-child(2),
  .collage-card--left:nth-last-child(3) {
    grid-column: 1 / span 2;
  }

  .collage-card--right:nth-child(2),
  .collage-card--right:nth-child(3) {
    grid-column: 2 / span 2;
  }

  .collage-card--right {
    grid-column: 2/ 3;
  }

  .collage-card:only-child {
    grid-column: 1 / span 3;
    max-width: 100%;
  }

  .collage-card:not(.collage-card--left):not(.collage-card--right) > * {
    position: absolute;
    width: 100%;
    height: 100%;
  }
}

.collage-card .card,
.collage-card:not(:only-child) .deferred-media {
  height: 100%;
}

.collage-content.deferred-media__poster:focus {
  outline-offset: 0.3rem;
}

.collage-video.collage-card--left .collage-content,
.collage-video.collage-card--right .collage-content {
  position: absolute;
}

.collage-video noscript .collage-content {
  width: 100%;
}

@media screen and (min-width: 750px) {
  .collage-video .collage-content {
    position: absolute;
  }
}

@media screen and (max-width: 749px) {
  .collage-card--left .deferred-media--placeholder,
  .collage-card--right .deferred-media--placeholder,
  .collage-video-placeholder {
    padding-bottom: 25rem;
  }
}

.collage-card iframe {
  width: 100%;
  height: 100%;
  position: absolute;
  background-color: rgba(var(--color-foreground), 0.03);
  border: 0;
}

.collage-card .card:hover {
  box-shadow: none;
}

.collage-content,
.collage-content.card,
.collage-content.media,
.collage-card__no-image {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.collage-content {
  justify-content: center;
  overflow: hidden;
}

.collage-content h3 {
  margin: 0;
  word-break: break-word;
}

.collage-card.collage-product:only-child {
  max-width: 73rem;
  justify-self: center;
}

.collage-product .collage-card__no-image {
  flex: 1;
  justify-content: center;
  align-items: center;
  overflow: hidden;
}

.collage-card__description {
  overflow: hidden;
}

.card .icon-wrap.collage-card__arrow {
  display: none;
}

.collage-card--left:not(.collage-product) .media > .collage-card__image,
.collage-card--right:not(.collage-product) .media > .collage-card__image {
  position: inherit;
}

@media screen and (max-width: 749px) {
  .collage:not(.collage--mobile) .collage-card__no-image {
    min-height: 25rem;
  }

  .collage-card__no-image.card__text-spacing {
    padding: 2rem;
  }

  .collage-card--left .collage-card__no-image h3,
  .collage-card--right .collage-card__no-image h3 {
    font-size: 3rem;
  }

  .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card__description {
    display: none;
  }

  .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card__arrow {
    display: inline-block;
  }
}

.collage-card--left .collage-card__no-image,
.collage-card--right .collage-card__no-image,
.collage-card--left .placeholder-svg,
.collage-card--right .placeholder-svg {
  min-height: 25rem;
}

@media screen and (min-width: 750px) {
  .collage-card--left .collage-card__no-image,
  .collage-card--right .collage-card__no-image,
  .collage-card--left .placeholder-svg,
  .collage-card--right .placeholder-svg {
    min-height: 40rem;
  }

  .collage-card__no-image h3 {
    font-size: 3rem;
  }
}

.collage-card__image-wrapper {
  flex: 1;
}

.collage-card__image-wrapper.media--hover-effect img {
  will-change: transform;
}

.collage-card__image-wrapper > * {
  width: 100%;
  height: 100%;
}

@media screen and (max-width: 749px) {
  .collage--mobile
    .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card__image-wrapper {
    padding-bottom: 100%;
  }

  .collage:not(.collage--mobile) .media > .collage-card__image {
    position: inherit;
  }

  .collage:not(.collage--mobile)
    .collage-product.collage-card--left
    .collage-card__image,
  .collage:not(.collage--mobile)
    .collage-product.collage-card--right
    .collage-card__image {
    position: absolute;
  }

  .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card-spacing
    .collage-card__image-wrapper,
  .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card-spacing.collage-card__image-wrapper {
    padding-bottom: 0;
    flex: 0 auto;
  }

  .collage--mobile
    .collage-card--left
    + .collage-card:last-child
    .collage-card__image-wrapper,
  .collage--mobile.collage--right
    .collage-card:first-child:nth-last-child(2)
    .collage-card__image-wrapper {
    padding-bottom: 0;
    flex: 1;
  }

  .collage--mobile
    .collage-card--left
    + .collage-card:last-child
    .collage-card-spacing
    .collage-card__image,
  .collage--mobile.collage--right
    .collage-card:first-child:nth-last-child(2)
    .collage-card-spacing
    .collage-card__image {
    object-fit: contain;
    position: absolute;
    height: 100%;
  }

  .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card-spacing
    .collage-card__image {
    position: inherit;
    height: auto;
  }
}

@media screen and (min-width: 750px) {
  .collage-card--left
    + .collage-card:last-child
    .collage-card-spacing
    .collage-card__image-wrapper,
  .collage--right
    .collage-card:first-child:nth-last-child(2)
    .collage-card-spacing
    .collage-card__image-wrapper {
    padding-bottom: 100%;
    flex: 0 0 auto;
  }
}

.collage-card-spacing:not(.collage-card__image-wrapper),
.collage-card-spacing > img {
  padding: 2rem;
}

.collage-card-spacing iframe,
.collage-video.collage-card--left .collage-card-spacing .collage-content,
.collage-video.collage-card--right .collage-card-spacing .collage-content {
  width: calc(100% - 4rem);
  height: calc(100% - 4rem);
}

.collage-card-spacing .card__text-spacing {
  padding: 0;
}

.collage-card-spacing .collage-content__info {
  margin: 1.5rem 0 0;
}

@media screen and (min-width: 750px) {
  .collage-card-spacing:not(.collage-card__image-wrapper),
  .collage-card-spacing > img {
    padding: 3rem;
  }

  .collage-card-spacing iframe,
  .collage-video.collage-card--left .collage-card-spacing .collage-content,
  .collage-video.collage-card--right .collage-card-spacing .collage-content {
    width: calc(100% - 6rem);
    height: calc(100% - 6rem);
  }

  .collage-card-spacing .collage-content__info {
    margin: 1.8rem 0 0;
  }

  .collage-card:not(.collage-card--left):not(.collage-card--right)
    .collage-card-spacing
    img {
    object-fit: contain;
  }
}

.collage-product__badge {
  position: relative;
}

.collage-content__info {
  margin: 1.5rem 2rem;
}

.card-information__wrapper.collage-content__info {
  margin: 0;
  padding: 1.5rem 2rem;
}

@media screen and (min-width: 750px) {
  .collage-content__info {
    margin: 2rem 3.5rem;
  }

  .card-information__wrapper.collage-content__info {
    padding: 2rem 3.5rem;
  }
}

/* Video modal testing */
.collage-video__modal.collage-video__modal {
  box-sizing: border-box;
  opacity: 0;
  position: fixed;
  visibility: hidden;
  z-index: -1;
  margin: 0 auto;
  top: 0;
  left: 0;
  overflow: auto;
  width: 100%;
  background: rgba(var(--color-foreground), 0.2);
  height: 100%;
}

.collage-video__modal[open].collage-video__modal[open] {
  opacity: 1;
  visibility: visible;
  z-index: 101;
}

.collage-video__modal-content {
  background-color: rgb(var(--color-background));
  overflow: auto;
  height: 100%;
  margin: 0;
  width: 100%;
  position: absolute;
  padding: 0;
}

.collage-video__modal-toggle {
  background-color: rgb(var(--color-background));
  border: 0.1rem solid rgba(var(--color-foreground), 0.1);
  border-radius: 50%;
  color: rgba(var(--color-foreground), 0.55);
  display: flex;
  align-items: center;
  justify-content: center;
  cursor: pointer;
  position: fixed;
  padding: 1.2rem;
  z-index: 2;
  top: 2rem;
  right: 0.5rem;
  width: 4rem;
  margin: 0 0 0 auto;
}

@media screen and (min-width: 750px) {
  .collage-video__modal-toggle {
    right: 4.8rem;
    top: 3.5rem;
  }
}

@media screen and (min-width: 990px) {
  .collage-video__modal-toggle {
    right: 4.3rem;
    top: 3rem;
  }
}

.collage-video__modal-toggle .icon {
  height: auto;
  margin: 0;
  width: 2.2rem;
}

.collage-video__modal-content-info {
  width: calc(100% - 1rem);
  height: calc(100% - 6rem);
  margin: 0 auto;
  padding-top: 8rem;
}

@media screen and (min-width: 750px) {
  .collage-video__modal-content-info {
    width: calc(100% - 9.6rem);
    height: calc(100% - 7.5rem);
    padding-top: 9.5rem;
  }
}

@media screen and (min-width: 990px) {
  .collage-video__modal-content-info {
    width: calc(100% - 8.6rem);
    height: calc(100% - 7rem);
    padding-top: 9rem;
  }
}

.collage-video__modal-video,
.collage-video__modal-video iframe {
  width: 100%;
  height: 100%;
}

.collage-video__modal-video iframe {
  position: static;
}
